﻿using DFGK_WMS.Model.DTO;
using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DFGK_WMS.IRepository
{
    public interface ITReceivingGoodsDetailRepository : IBaseRepository<TReceivingGoodsDetail>
    {
        /// <summary>
        /// 根据入库单id查询入库单货明细
        /// </summary>
        /// <param name="orderDetailid">入库单id</param>
        /// <returns></returns>
        List<TReceivingGoodsDetail> GetReceivingGoodsDetailList(int orderDetailid);

        bool AddReceivingGoodsDetail(List<TReceivingGoodsDetail> receivingGoodsDetails);

        /// <summary>
        /// 采购收货单接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        bool AddTPurchaseReceipt(PurchaseReceiptDto dto,out string message);

        /// <summary>
        /// 生产订单接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        bool AddProductionOrder(ProductionOrderDto dto, out string message);

        /// <summary>
        /// 生产退料单接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        bool AddProductionMaterilas(ProductionMaterilasDto dto,out string message);

        /// <summary>
        /// 销售订单退货接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        bool AddSalesOrderReturn(SalesOrderReturnDto dto,out string message);

        /// <summary>
        /// 生产入库单接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        bool AddProduceReceiving(ProduceReceivingDto dto, out string message);

        /// <summary>
        /// 调用mes入库接口
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> PostMESReceiving(MESReceivingDto dto);

    }
}
